/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.wonderly.desk.contacts;

import java.util.Date;
import java.util.List;

/**
 *
 * @author gregg
 */
public interface ContactLogger {
	/**
	 * Get the list of contacts that match the passed expression
	 * @param regex Can be a regular expression or just plain text as in "W5" or "XA" etc.
	 * @return
	 */
	public List<Contact>findContactsLike( String regex );
	/**
	 *
	 * @param callSign
	 * @return
	 */
	public List<Contact>findContactsWith( String callSign );
	/**
	 *
	 * @param contact
	 */
	public void logContact( Contact contact );
	/**
	 *
	 * @param day
	 * @return
	 */
	public List<Contact>findContactsOn(Date day);
	/**
	 *
	 * @param start
	 * @param last
	 * @return
	 */
	public List<Contact>findContactsDuring( Date start, Date last );
	/**
	 *
	 * @param day
	 * @param call
	 * @return
	 */
	public List<Contact>findContactsOn(Date day, String call);
	/**
	 *
	 * @param start
	 * @param last
	 * @param call
	 * @return
	 */
	public List<Contact>findContactsDuring( Date start, Date last, String call );
}
